// File:    Enfermera.cs
// Author:  mespinozas
// Created: jueves, 10 de octubre de 2013 15:10:08
// Purpose: Definition of Class Enfermera

using System;

public class Enfermera : Funcionario
{
   public string especialidadEnfermeria;
   
   public System.Collections.Generic.List<AtencionMedica> atencionMedica;
   
   /// <summary>
   /// Property for collection of AtencionMedica
   /// </summary>
   /// <pdGenerated>Default opposite class collection property</pdGenerated>
   public System.Collections.Generic.List<AtencionMedica> AtencionMedica
   {
      get
      {
         if (atencionMedica == null)
            atencionMedica = new System.Collections.Generic.List<AtencionMedica>();
         return atencionMedica;
      }
      set
      {
         RemoveAllAtencionMedica();
         if (value != null)
         {
            foreach (AtencionMedica oAtencionMedica in value)
               AddAtencionMedica(oAtencionMedica);
         }
      }
   }
   
   /// <summary>
   /// Add a new AtencionMedica in the collection
   /// </summary>
   /// <pdGenerated>Default Add</pdGenerated>
   public void AddAtencionMedica(AtencionMedica newAtencionMedica)
   {
      if (newAtencionMedica == null)
         return;
      if (this.atencionMedica == null)
         this.atencionMedica = new System.Collections.Generic.List<AtencionMedica>();
      if (!this.atencionMedica.Contains(newAtencionMedica))
      {
         this.atencionMedica.Add(newAtencionMedica);
         newAtencionMedica.AddArsenalera(this);      
      }
   }
   
   /// <summary>
   /// Remove an existing AtencionMedica from the collection
   /// </summary>
   /// <pdGenerated>Default Remove</pdGenerated>
   public void RemoveAtencionMedica(AtencionMedica oldAtencionMedica)
   {
      if (oldAtencionMedica == null)
         return;
      if (this.atencionMedica != null)
         if (this.atencionMedica.Contains(oldAtencionMedica))
         {
            this.atencionMedica.Remove(oldAtencionMedica);
            oldAtencionMedica.RemoveArsenalera(this);
         }
   }
   
   /// <summary>
   /// Remove all instances of AtencionMedica from the collection
   /// </summary>
   /// <pdGenerated>Default removeAll</pdGenerated>
   public void RemoveAllAtencionMedica()
   {
      if (atencionMedica != null)
      {
         System.Collections.ArrayList tmpAtencionMedica = new System.Collections.ArrayList();
         foreach (AtencionMedica oldAtencionMedica in atencionMedica)
            tmpAtencionMedica.Add(oldAtencionMedica);
         atencionMedica.Clear();
         foreach (AtencionMedica oldAtencionMedica in tmpAtencionMedica)
            oldAtencionMedica.RemoveArsenalera(this);
         tmpAtencionMedica.Clear();
      }
   }

}